Method for optimizing throughput of a network

ABSTRACT

A method for optimizing throughput of a network with stations adapted to transmit data to an access point includes the step of determining a respective required throughput for each station based on: respective time periods required for decreasing a count of a respective back-off counter associated with each of the stations, a transmission packet length of the respective station, and a probability of successful transmission for of the respective station. The respective required throughput so determined is a function of a respective transmission attempt rate for the station. The method further includes the step of determining the respective transmission attempt rate for each station for maximizing a sum of the respective required throughput such that a respective fixed throughput is provided for inelastic data flow in the network, a respective proportional throughput ratio is provided for elastic data flow in the network, and the throughput of the network is maximized.

TECHNICAL FIELD

The present invention relates to a method for optimizing throughput of a network and particularly, although not exclusively, to a method for scheduling channel access in a network with heterogeneous data traffic.

BACKGROUND

The concept of the Internet of Things (IoT) refers to a world in which every-day physical objects are embedded with sensors and actuators, and are linked to the Internet through wired or wireless networks such that data can be readily gathered, communicated and analysed, and that events can be readily responded to with minimal human intervention. In the era of IoT, physical objects can represent themselves digitally in the physical world to interact with other objects, thereby transforming the physical world into a huge information system. In one important aspect, IoT requires interconnection of various heterogeneous devices (laptops, smartphones, tablets, sensors, actuators, etc.), and the heterogeneity of these devices dictates the heterogeneity of the network and their application requirements.

FIG. 1 shows an exemplary smart home network 100 in one IoT application. As shown in FIG. 1, the network 100 includes a surveillance camera 102, a smart lamp 104, a smart air-conditioner 106, and a smoke detector 108 that are in wired or wireless connection with a smart home gateway 112 (i.e., an access point), in the same house 150. The access point 112 is in turn connected to a remote information handling system 110 through the internet 114. Network 100 enables video surveillance and measurement of the home environment. In network 100, there exist two types of traffic flows with different service requirements, namely inelastic (or real-time) data flow and elastic (or non-real-time) data flow.

Inelastic data flow (e.g., video flow) generally has larger frame sizes and more stringent requirements in bandwidth and delay. In network 100, surveillance camera 102 is in inelastic data flow with the access point 112. Surveillance camera 102 transmits surveillance video to the access point 112, allowing user to remotely view the video, for example through the remote information handling system 110, to monitor the home environment. These videos consume a wide bandwidth and should be delivered in real-time.

On the other hand, elastic data flow generally has smaller frame sizes and more flexible requirements in bandwidth and delay. In network 100, one or more of the smart lamp 104, the smart air-conditioner 106, and the smoke detector 108 are in elastic data flow with the access point 112. In one example, the smart lamp 104 and the smart air-conditioner 106 transmit non-real-time home environment information, such as temperature and luminance measured by their own built-in sensors, to access point 112. The access point 112 may, in response, transmit control commands to the lamp 104 and the air-conditioner 106 for adjusting corresponding parameter settings based on the received information. In this case, the amount of data that needs to be transmitted may vary based on a variation of temperature and luminance in the environment.

In a network with limited bandwidth and where these elastic and inelastic data flows coexist, it is desirable to economically allocate bandwidth in a simple and efficient manner.

SUMMARY OF THE INVENTION

In accordance with a first aspect of the present invention, there is provided a method for optimizing throughput of a network with stations adapted to transmit data to an access point, the method comprising the steps of: determining a respective required throughput (Γ_(i)) for each station (i) based on: respective time periods (Ω) required for decreasing a count of a respective back-off counter associated with each of the stations (i), a transmission packet length (L_(i)) of the respective station (i), and a probability of successful transmission (P_(s) ^(i)) of the respective station (i), wherein the respective required throughput (Γ_(i)) so determined is a function of a respective transmission attempt rate (β_(i)) for the station (i); and determining the respective transmission attempt rate (β_(i)) for each station (i) for maximizing a sum of the respective required throughput (Γ_(i)) such that a respective fixed throughput (a_(i)) is provided for inelastic data flow in the network, a respective proportional throughput ratio (r_(i)) is provided for elastic data flow in the network, and the throughput of the network is maximized. Preferably, the respective fixed throughput (a_(i)) is an optimal throughput for inelastic data flow, without under- or over-allocation.

In one embodiment of the first aspect, the method further comprises the step of operating the stations (i) at the respective determined transmission attempt rate (β_(i)).

In one embodiment of the first aspect, the fixed throughputs (a_(i)) are respective predetermined throughputs for maintaining inelastic data flow in the respective stations.

In one embodiment of the first aspect, the respective proportional throughput ratio (r_(i)) is defined as a ratio of a throughput of one of the station with elastic data flow to a throughput of another of the station with elastic data flow.

In one embodiment of the first aspect, the method further comprises the step of determining or selecting an operation mode of the network.

In one embodiment of the first aspect, the operation mode is selected from a basic mode and a RTS/CTS mode.

In one embodiment of the first aspect, in the basic mode, the respective time periods (Ω) is defined by:

$\Omega = \left\{ {\begin{matrix} {\sigma,} & {{P_{e} = {\prod\limits_{i = 1}^{N}\; \left( {1 - \beta_{i}} \right)}},} & \; \\ {T_{i},} & {{P_{i} = {\beta_{i}{\prod\limits_{j = {i + 1}}^{N}\; \left( {1 - \beta_{j}} \right)}}},} & {1 \leq i \leq {N - 1}} \end{matrix};} \right.$

and in the RTS/CTS mode, the respective time periods (Ω) is defined by:

$\Omega = \left\{ {\begin{matrix} {\sigma,} & P_{e} & \; \\ {T_{s}^{i},} & {P_{s}^{i},} & {1 \leq i \leq N} \\ {T_{c},} & P_{c} & \; \end{matrix},} \right.$

where N is a total number of the stations; σ is a predetermined time constant; P_(e) is an idle probability that all of the stations do not transmit in a slot; T_(i) is a channel occupation time that when one station i transmits but other stations i+1 to N do not transmit; P_(i) is a probability that one station i transmits but other stations i+1 to N do not transmit, with Π_(j=N=1) ^(N)(1−βj)=1; T_(s) ^(i) the successful packet transmission time of station i; P_(s) ^(i) is the probability of a successful transmission of station i; T_(c) is an unsuccessful packet transmission time; and P_(c) is the probability of an unsuccessful transmission of station i.

In one embodiment of the first aspect, the respective required throughput (Γ_(i)) for each station (i) is expressed as:

${{\Gamma_{i}(\beta)} = \frac{L_{i}P_{s}^{i}}{E(\Omega)}},$

where P_(s) ^(i)=β_(i)Π_(j≠i) ^(N)(1−β_(j)), 1≦i≦N; E(Ω)=σP_(e)+Σ_(i=1) ^(N−1)T_(i)P_(i) for the basic mode; and E(Ω)=σP_(e)+Σ_(i=1) ^(N)T_(s) ^(i)P_(s) ^(i)+T_(c)P_(c) for the RTS/CTS mode.

In one embodiment of the first aspect, the step of determining a respective transmission attempt rate (β_(i)) for each station (i) comprises the steps of: processing the respective required throughput (Γ_(i)) for each station (i) with a utility function for elastic data flow and inelastic data flow; and determining a respective transmission attempt rate (β_(i)) for each station (i) for maximizing the utility functions.

In one embodiment of the first aspect, the step of processing the respective required throughput (Γ_(i)) for each station (i) with a utility function is performed based on:

${U_{i}(\beta)} = \left\{ {{\begin{matrix} {1,} & {{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} \geq a_{i}} \\ {0,} & {{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} < a_{i}} \end{matrix}\mspace{14mu} {for}\mspace{14mu} {inelastic}\mspace{14mu} {data}\mspace{14mu} {flow}};{{{and}{U_{i}(\beta)}} = {r_{i}\ln \; {\Gamma_{i}(\beta)}\mspace{14mu} {for}\mspace{14mu} {elastic}\mspace{14mu} {data}\mspace{14mu} {flow}}};} \right.$

where U_(i)(β) is the utility function.

In one embodiment of the first aspect, the step of determining a respective transmission attempt rate (β_(i)) for each station (i) comprises the steps of: setting an initial transmission attempt rate; determining the respective transmission attempt rate (β_(i)) based on the initially set transmission attempt rate, the respective required throughput (Γ_(i)) for each station (i), and a predetermined relationship.

In one embodiment of the first aspect, the predetermined relationship is defined as:

$\beta_{1} = \frac{B + {\sum\limits_{j = 1}^{m}\; {\left( {T_{s}^{j + 1} - T_{c}} \right)\beta_{j + 1}}} + {T_{c}e^{\phi}}}{A}$ ${\beta_{i} = {\frac{L_{2}a_{i}}{a_{2}L_{i}}\beta_{2}}},{{2 \leq i \leq {n\mspace{14mu} {for}\mspace{14mu} {inelastic}\mspace{14mu} {data}\mspace{14mu} {flow}}};}$ and ${\beta_{n + i} = \frac{r_{i}\left( {\phi - {\frac{L_{2}}{a_{2}}\beta_{2}{\sum\limits_{j = 2}^{n}\; \frac{a_{j}}{L_{j}}}}} \right)}{L_{n + i}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{n + j}}}}},{1 \leq i \leq m}$ ${{{for}\mspace{14mu} {elastic}\mspace{14mu} {data}\mspace{14mu} {flow}};{{where} = {\frac{L_{1}}{a_{1}} + \sigma - T_{s}^{1}}}},{B = {\sigma - T_{s}^{1}}},$

and φ>0 is an optimal total attempt rate of the stations with elastic data flow.

In one embodiment of the first aspect, the elastic data flow is a non-real-time data flow and the inelastic data flow is a real-time data flow.

In one embodiment of the first aspect, the network utilizes an IEEE 802.11 protocol.

In one embodiment of the first aspect, the network utilizes an IEEE 802.11ah protocol.

In accordance with a second aspect of the present invention, there is provided a non-transient computer readable medium for storing computer instructions that, when executed by one or more processors, causes the one or more processors to perform a method for optimizing throughput of a network with stations adapted to transmit data to an access point, the method comprising the steps of: determining a respective required throughput (Γ_(i)) for each station (i) based on: respective time periods (Ω) required for decreasing a count of a respective back-off counter associated with each of the stations (i), a transmission packet length (L_(i)) of the respective station (i), and a probability of successful transmission (P_(s) ^(i)) of the respective station (i), wherein the respective required throughput (Γ_(i)) so determined is a function of a respective transmission attempt rate (β_(i)) for the station (i); and determining the respective transmission attempt rate (β_(i)) for each station (i) for maximizing a sum of the respective required throughput (Γ_(i)) such that a respective fixed throughput (a_(i)) is provided for inelastic data flow in the network, a respective proportional throughput ratio (r_(i)) is provided for elastic data flow in the network, and the throughput of the network is maximized.

It is an object of the present invention to address the above needs, to overcome or substantially ameliorate the above disadvantages or, more generally, to provide an improved method for optimizing throughput of a network. More particular, the method of the present invention is adapted to provide, simultaneously, optimal throughput (a_(i)) for inelastic data flow, optimal proportional throughput ratio (r_(i)) for elastic data flow, and maximum network throughput.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic diagram of an exemplary smart home network in an IoT application;

FIG. 2A is a graph showing simulation results for operating a network using a network-utility-maximization-based method in a basic mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the per-station throughput of the inelastic data flows and the number of the elastic data flows;

FIG. 2B is a graph showing simulation results for operating a network using a network-utility-maximization-based method in a basic mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the per-station throughput of the elastic data flows and the number of the elastic data flows;

FIG. 2C is a graph showing simulation and analysis results for operating a network using a network-utility-maximization-based method in a basic mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the system throughput and the number of the elastic data flows;

FIG. 3A is a graph showing simulation results for operating a network using a network-utility-maximization-based method and an asymptotic analysis method in a RTS/CTS mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the per-station throughput of the inelastic data flows and the number of the elastic data flows;

FIG. 3B is a graph showing simulation results for operating a network using a network-utility-maximization-based method and an asymptotic analysis method in a RTS/CTS mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the per-station throughput of the elastic data flows and the number of the elastic data flows;

FIG. 3C is a graph showing simulation and analysis results for operating a network using a network-utility-maximization-based method and an asymptotic analysis method in a RTS/CTS mode in accordance with one embodiment of the present invention, wherein the graph shows a relationship between the system throughput and the number of the elastic data flows;

FIG. 4A is a graph showing simulation results for operating a network using the network-utility-maximization-based method in a basic mode in accordance with the present invention and using a prior art method (Cheung's method), wherein the graph shows a relationship between the per-station throughput of the inelastic data flow and the number of the elastic data flows;

FIG. 4B is a graph showing simulation results for operating a network using the network-utility-maximization-based method in a basic mode in accordance with the present invention and using a prior art method (Cheung's method), wherein the graph shows a relationship between the system throughput and the number of the elastic data flows;

FIG. 4C is a graph showing simulation results for operating a network using the network-utility-maximization-based method in a basic mode in accordance with the present invention and using a prior art method (Cheung's method), wherein the graph shows a relationship between an average utility and the number of elastic data flows; and

FIG. 5 is a functional block diagram of an exemplary information handling system operable to perform the optimization methods (network-utility-maximization-based method and asymptotic analysis method) of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention provides to a method for optimizing throughput of a network with stations adapted to transmit data to an access point, the method comprising the steps of: determining a respective required throughput (Γ_(i)) for each station (i) based on: respective time periods (Ω) required for decreasing a count of a respective back-off counter associated with each of the stations (i), a transmission packet length (L_(i)) of the respective station (i), and a probability of successful transmission (P_(s) ^(i)) of the respective station (i), wherein the respective required throughput (Γ_(i)) so determined is a function of a respective transmission attempt rate (β_(i)) for the station (i); and determining the respective transmission attempt rate (β_(i)) for each station (i) for maximizing a sum of the respective required throughput (Γ_(i)) such that a respective fixed throughput (a_(i)) is provided for inelastic data flow in the network, a respective proportional throughput ratio (r_(i)) is provided for elastic data flow in the network, and the throughput of the network is maximized.

I. System Model

IEEE 802.11ah an emerging wireless LAN (WLAN) protocol that can cover a longer transmission range and can support more stations compared with conventional 802.11 protocols. In particular, IEEE 802.11ah protocol can support more devices than conventional 802.11 protocols by dividing all stations into group and limiting each group in a specific time for transmission, wherein the stations in each group behave exactly like conventional 802.11 stations. Also, IEEE 802.11ah operates on the sub 1 GHz (S1G) license-exempt bands (except for TV white spaces). Because of the scarcity of the available spectrum, S1G does not permit the use of wide bands. For example, the channels used in 802.11ah are 10 times narrower than those in 802.11ac: 1, 2, 4, 8 and 16 MHz. Also, only 1 and 2 MHz channels are mandatory. As a result, in 802.11ah, the available bandwidth is generally very limited.

To facilitate understanding of the invention, the following description is made with reference to a small-scale IoT that adopts IEEE 802.11ah protocol. It should be noted that, however, the methods of the present invention are also applicable to various networks using other internet protocols.

In one exemplary IoT network that operates with IEEE 802.11ah protocol, all N stations are within the same group and therefore 802.11ah is reduced to the conventional 802.11 protocol. In these N stations, n stations have inelastic data flows and m stations have elastic data flows, where N=n+m. Each station i, 1≦i≦N, generates a random back-off count uniformly distributed in [0, CW_(i)] for each new transmission or retransmission, wherein CW_(i)>1. All stations send data to an access point, which acts as a receiver.

In the following, it is assumed that 1) all stations hear each other; 2) channel conditions are ideal, i.e., the transmission errors are due to packet collision only; 3) each station is in saturated operation, i.e., each station always has packets to transmit; and 4) each station may have an arbitrary packet size.

The optimization problem associated with the above network can be formulated as follows. Let β=(β₁, β₂, . . . , β_(N)), where β_(i) represents the attempt rate of station i (i.e., the mean number that station i attempts to transmit in a slot). In the saturated operation, β_(i) is calculated by CW_(i) based on

$\begin{matrix} {\beta_{i} = {\frac{2}{{CW}_{i} + 1}.}} & (1) \end{matrix}$

Thus, finding an optimal (CW₁, CW₂, . . . , CW_(N)) is equivalent to finding the optimal β.

Let Γ_(i)=Γ_(i)(β), 1≦i≦n be the throughput of station i. Let a_(i), 1≦i≦n, represent the fixed throughput required by inelastic data flow i. Let r_(i), 1≦i≦m, represent the proportional throughput ratio between elastic data flow n+i and n+1. It is an object of the present invention to determine optimal β values so as to ensure that each inelastic flow meets a fixed, optimized throughput requirement a_(i), each elastic flow meets a proportional throughput requirement r_(i), and the system throughput Σ_(i=1) ^(N)Γ_(i) can be maximized. These objects can be expressed as the following equations.

$\begin{matrix} {{{The}\mspace{14mu} {optimal}\mspace{14mu} \beta} = {{argmax}_{\beta}{\sum\limits_{i = 1}^{N}\; \Gamma_{i}}}} & (2) \\ {{{{over}\mspace{14mu} \Gamma_{i}} = a_{i}},{1 \leq i \leq n},} & (3) \\ {{\frac{\Gamma_{n + i}}{\Gamma_{n + 1}} = r_{i}},{1 \leq i \leq {m.}}} & (4) \end{matrix}$

II. Optimal Attempt Rate β Per-Station Throughput Γ_(i) for the Basic Mode of 802.11

For 802.11, let Ω be the time that elapses for one decrement of the back-off counter. According to the 802.11 protocol, the back-off counter of each station will count down if the channel is idle or will suspend if the channel is busy. Depending on the channel state, Ω can be written as:

$\begin{matrix} {\Omega = \left\{ {\begin{matrix} {\sigma,} & {{P_{e} = {\prod\limits_{i = 1}^{N}\; \left( {1 - \beta_{i}} \right)}},} & \; \\ {T_{i},} & {{P_{i} = {\beta_{i}{\prod\limits_{j = {i + 1}}^{N}\; \left( {1 - \beta_{j}} \right)}}},} & {1 \leq i \leq {N - 1}} \end{matrix}.} \right.} & (5) \end{matrix}$

-   -   P_(e) is the idle probability of a slot, namely, the probability         that all stations do not transmit in a slot. Note that β_(i) is         the per-slot attempt rate (or attempt probability) of station i         and 1−β_(i) is the probability that station i does not attempt         to transmit in a slot. Thus, P_(e)=Π_(i=1) ^(N)(1−β_(i)).     -   P_(i) is the probability that station i transmits but stations         i+1 to N do not transmit. Note that it is irrelevant whether         stations 1 to i−1 transmit. In addition, let Π_(j=N=1)         ^(N)(1−β_(j))=1.     -   σ is the time of a MAC slot. In 802.11b, σ=20 us. When the         channel is idle for the duration of σ, the back-off count will         decrease by 1.     -   T_(i) is the channel occupation time (i.e., a successful or an         unsuccessful packet transmission time) that when station i         transmits but stations i+1 to N do not transmit. Let L_(i) be         the packet length in bytes of station i and assume that L₁≦L₂≦ .         . . ≦L_(N). When multiple packets involve collision, the         collision time (i.e., the unsuccessful packet transmission time)         is determined by the maximum packet length. In addition, it is         assumed that both the successful and unsuccessful transmission         times are equal. In the basic mode, one successful packet         transmission follows the pattern: packet (including header         overheads)/SIFS/ACK/DIFS. Then, T_(i)=T (L_(i)) where T(•) is         given in Table 1.

From Equation (5), the mean of Ω, E(Ω), can be expressed as:

E(Ω)=σP _(e)+Σ_(i=1) ^(N−1) T _(i) P _(i).   (6)

Let P_(s) ^(i) be the probability of a successful transmission of station i, 1≦i≦N. Since station i can successfully transmit a packet if and only if all other stations do not transmit,

P _(s) ^(i)=β_(i)Π_(j≠i) ^(N)(1−β_(j)),1≦i≦N.   (7)

The throughput of station i, Γ_(i)(β), 1≦i≦N is defined as the number of bits that station i successfully transmits in the duration of E(Ω). According to Equations (6) and (7), Γ_(i) can be written as

$\begin{matrix} {{\Gamma_{i}(\beta)} = {\frac{L_{i}P_{s}^{i}}{E(\Omega)}.}} & (8) \end{matrix}$

Per-Station Throughput Γ_(i) for the RTS/CTS Mode of 802.11

In the RTS/CTS mode, the per-station throughput Γ_(i) is calculated in a similar manner as in the basic mode. The only difference is the expression of Ω, which is given by:

$\begin{matrix} {\Omega = \left\{ {\begin{matrix} {\sigma,} & P_{e} & \; \\ {T_{s}^{i},} & {P_{s}^{i},} & {1 \leq i \leq N} \\ {T_{c},} & P_{c} & \; \end{matrix},} \right.} & (9) \end{matrix}$

-   -   P_(e) is the idle probability of a slot as defined above;     -   P_(s) ^(i) is the probability of a successful transmission of         station i as defined above;     -   P_(c) is the probability of an unsuccessful transmission of         station i, which is given by

P _(c)=1−Σ_(i=1) ^(N) P _(s) ^(i) −P _(e).  (10);

-   -   σ is the time of a MAC slot as defined above;     -   T_(s) ^(i) is the successful packet transmission time of         station i. In the RTS/CTS mode, one successful packet         transmission follows the pattern:         RTS/SIFS/CTS/SIFS/packet/SIFS/ACK/DIFS. Then, T_(s) ^(i) can be         written as

T _(s) ^(i) =RTS+SIFS+CTS+SIFS+T(L _(i))   (11)

-   -   where T(•) is given in Table 1.     -   T_(c) is an unsuccessful packet transmission time. In the         RTS/CTS mode, if there is a collision, the collision only occurs         in RTS. Then,

T _(c) =DIFS+RTS+SIFS+CTS.   (12)

From Equation (9), the mean of Ω, E(Ω) can be expressed as

E(Ω)=σ_(e)+Σ_(i=1) ^(N) T _(s) ^(i) P _(s) ^(i) +T _(c) P _(c).

Network-Utility-Maximization (NUM) Method for a General Solution

A network-utility-maximization (NUM) method in accordance with one embodiment of the present invention can provide a general solution to the optimization problem for the basic and RTS/CTS modes of a 802.11 network.

Let U_(i)(β) be the utility function of each flow i. In this method, the key is to express U_(i)(β). In the following, the requirement of each flow is converted into a utility function.

Utility Function of Inelastic Data Flow i for 1≦i≦n

Each inelastic data flow i require a fixed throughput a_(i), as shown in Equation (3). In other words, if the acquired throughput is less than a_(i), the network cannot fulfill the requirement. If the acquired throughput is equal to a_(i), the network exactly fulfills the requirement. If the acquired throughput is larger than a_(i), the network fulfills the requirement but the over-allocation results in waste of resource. In this embodiment, a step function is used to characterize the utility of each inelastic data flow, namely,

$\begin{matrix} {{U_{i}(\beta)} = \left\{ \begin{matrix} {1,} & {{{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} \geq a_{i}},} \\ {0,} & {{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} < {a_{i}.}} \end{matrix} \right.} & (13) \end{matrix}$

Utility Function of Elastic Data Flow i for n+1≦i≦n+m

Each elastic data flow i requires a proportional throughput with a ratio r_(i), as shown in Equation (4). Namely, the proportional throughput ratio between elastic data flow n+i and n+1 is r_(i). In other words, each elastic data flow i requires a weighted proportional fairness. The utility function that can be used to achieve such a proportional fairness is a weighted log function, namely,

U _(i)(β)=r _(i) ln Γ_(i)(β).   (14)

Maximization of Utility Functions

In the optimization problem, given the requirement of each flow, the object is to maximize the system throughput Σ_(i=1) ^(N)Γ_(i), as shown in Equation (2). With the NUM method, maximizing the system throughput is equivalent to maximizing the total utility functions, namely,

max_(β)Σ_(i=1) ^(n+m) U _(i)(β).   (15)

In general, the optimal β_(i) for the basic and RTS/CTS modes can be found by solving Equations (13)-(15) numerically, as long as the solution exists. However, in some embodiments, it may be difficult to prove the existence of the solution and the search for an optimal solution is time-consuming. An alternative method may therefore be required.

Asymptotic Analysis Method for an Approximate Solution

An asymptotic analysis method in accordance with one embodiment of the present invention can provide approximate solution to the optimization problem for the basic and RTS/CTS modes of an 802.11 network. In the preferred embodiment, the asymptotic analysis method explicitly expresses the solution, therefore overcoming the potential drawbacks of the NUM method.

In one embodiment of the asymptotic analysis method, a key approximation, β_(i)=1, is adopted. This approximation is practical since β_(i) represents the per-station attempt rate in a very short slot (e.g., 1 slot=20 us in 802.11b) and therefore it is generally small.

The following considers the simple case of n=1 and m≧1, and then extend the derived results to the general case of n≧1 and m≧1.

The case of n=1 and m≧1

With the approximation β_(i)=1, the per-station attempt rate β_(i) can be expressed explicitly. The derived result is summarized in Theorem 1 below. Theorem 1 states that the approximate solution must exist and be unique, and provides a method to compute it quickly and easily.

Theorem 1: When n=1 and m≧1, with the approximation β_(i)=1, the optimal solution β_(i) to Equations (2)-(4) is uniquely given by

$\begin{matrix} \left\{ {\begin{matrix} {\beta_{i} = \left\{ \begin{matrix} {\frac{B + {\sum\limits_{j = 1}^{m}\; {\left( {T_{s}^{j + 1} - T_{c}} \right)\beta_{j + 1}}} + {T_{c}e^{\phi}}}{A},{i = 1}} \\ {\frac{r_{i}\phi}{L_{i + 1}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{j + 1}}}},{i = 2},\ldots \mspace{14mu},N} \end{matrix} \right.} \\ {\phi = {{W_{0}\left( \frac{B}{T_{c}e} \right)} + 1}} \end{matrix},{{{where}\mspace{14mu} A} = {\frac{L_{1}}{a_{1}} + \sigma - T_{s}^{1}}},{B = {\sigma - T_{s}^{1}}},} \right. & (16) \end{matrix}$

and φ>0 is the optimal total attempt rate of the stations with elastic data flows; and W₀(•) is one branch of the Lambert W(z) function, W(z)e^(W(z))=z for any complex number z.

Proof

Let φ^(o)=β₂Σ_(j=1) ^(m)r_(j) represent the total attempt rate of the stations with elastic data flows.

Step 1: Express β_(i+1) in terms of β₂. From Equations (4), (7), and (8), and since β_(i)=1, it can be determined that

$\begin{matrix} {r_{i} = {\frac{\Gamma_{n + i}}{\Gamma_{n + 1}} = {\frac{L_{n + i}{\beta_{n + i}\left( {1 - \beta_{n + 1}} \right)}}{L_{n + 1}{\beta_{n + 1}\left( {1 - \beta_{n + i}} \right)}} \approx {\frac{L_{n + i}\beta_{n + i}}{L_{n + 1}\beta_{n + 1}}.}}}} & (20) \end{matrix}$

When n=1, β_(i+1) can be expressed as follows

$\begin{matrix} {{\beta_{i + 1} = {\frac{r_{i}L_{2}\beta_{2}}{L_{i + 1}} = \frac{r_{i}\phi}{L_{i + 1}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{j + 1}}}}}},{1 \leq i \leq {m.}}} & (21) \end{matrix}$

Step 2: Express β_(i) in Equation (16). Γ_(i)=a₁ is first expressed as Equation (22). After substituting Equation (21) into Equation (22), an explicit relationship between β₁ and β₂ can be obtained, as shown in Equation (23), where the following approximations are applied: β_(i)=1 and (1−x)^(y)≈e^(−xy) for x<<y. Combining Equations (21) and (23), Equation (16) can be obtained:

$\begin{matrix} {a_{1} = {\frac{L_{i}\beta_{i}{\prod\limits_{j \neq i}^{N}\; \left( {1 - \beta_{j}} \right)}}{{\left( {\sigma - T_{c}} \right){\prod\limits_{i = 1}^{N}\; \left( {1 - \beta_{i}} \right)}} + {\sum\limits_{i = 1}^{N}\; {\left( {T_{s}^{i} - T_{c}} \right)\beta_{i}{\prod\limits_{j \neq i}^{N}\; \left( {1 - \beta_{j}} \right)}}} + T_{c}}.}} & (22) \\ \begin{matrix} {\mspace{79mu} {\beta_{1} = \frac{\sigma - T_{c} + {\sum\limits_{i = 1}^{m}\; {\left( {T_{s}^{i + 1} - T_{c}} \right)\beta_{i + 1}}} + \frac{T_{c}}{\prod\limits_{i = 1}^{m}\; \left( {1 - \beta_{i + 1}} \right)}}{\frac{L_{1}}{a_{1}} + \sigma - T_{s}^{1}}}} \\ {{\approx \frac{\sigma - T_{c} + {\frac{\phi}{\sum\limits_{i = 1}^{m}\; \frac{r_{j}}{L_{j + 1}}}{\sum\limits_{i = 1}^{m}\; {\left( {T_{s}^{i + 1} - T_{c}} \right)\frac{r_{i}}{L_{i + 1}}}}} + {T_{c}e^{\phi}}}{\frac{L_{1}}{a_{1}} + \sigma - T_{s}^{1}}},(24)} \\ {{1 \leq i \leq {m.}}} \end{matrix} & (23) \\ {\mspace{79mu} {{\sum\limits_{i = 1}^{N}\; \Gamma_{i}} = {a_{1} + {\frac{\beta_{2}}{\beta_{1}}a_{1}{\sum\limits_{i = 1}^{m}\; r_{i}}}}}} & (25) \\ {\mspace{79mu} {= {a_{1} + \frac{\left( {\frac{L_{1}}{a_{1}} + \sigma - T_{s}^{1}} \right)\frac{\phi}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{j + 1}}}a_{1}{\sum\limits_{i = 1}^{m}\; r_{i}}}{\sigma - T_{c} + {\frac{\phi}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{j + 1}}}{\sum\limits_{i = 1}^{m}\; {\left( {T_{s}^{i + 1} - T_{c}} \right)\frac{r_{i}}{L_{i + 1}}}}} + {T_{c}e^{\phi}}}}}} & (26) \end{matrix}$

Step 3: Compute the optimal φ^(o), φ. First, Σ_(i−1) ^(N)=Γ_(i) is expressed as in Equations (25) and (26) by applying Equation (21). Second, by setting the first-order derivative of Σ_(i=1) ^(N)Γ_(i) in terms of φ to 0, the following can be obtained: the equation of φ, B+T_(c)(e^(φ)−φe^(φ))=0, and hence

${\left( {\phi - 1} \right)e^{\phi - 1}} = {\frac{B}{T_{c}e}.}$

Then

${{\phi - 1} = {{{W_{0}\left( \frac{B}{T_{c}e} \right)}\mspace{14mu} {or}\mspace{14mu} {{W_{- 1}\left( \frac{B}{T_{c}e} \right)}.\phi}} = {{W_{0}\left( \frac{B}{T_{c}e} \right)} + 1}}},{{{as}\mspace{14mu} {W_{0}\left( \frac{B}{T_{c}e} \right)}} > {{- 1}\mspace{14mu} {and}\mspace{14mu} {W_{- 1}\left( \frac{B}{T_{c}e} \right)}} < {{- 1}\mspace{14mu} {for}}}$ $\frac{B}{T_{c}e} \in {\left( {\frac{- 1}{e},0} \right).}$

The case of n≧1 and m≧1

Theorem 1 states that for the given L₁ and a₁, the total attempt rate φ of all stations with elastic data flows is fixed. This reveals the idea of computing the approximate solution when n≧1, as explained below.

First, express β_(i) for the inelastic data flows in terms of β₂.

$\begin{matrix} {{\beta_{i} = {\frac{L_{2}a_{i}}{a_{2}L_{i}}\beta_{2}}},{2 \leq i \leq {n.}}} & (17) \end{matrix}$

Next, express β_(n+i) for elastic data flows in terms of β₂.

$\begin{matrix} {{\beta_{n + i} = \frac{r_{i}\left( {\phi - {\frac{L_{2}}{a_{2}}\beta_{2}{\sum\limits_{j = 2}^{n}\; \frac{a_{j}}{L_{j}}}}} \right)}{L_{n + i}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{n + j}}}}},{1 \leq i \leq {m.}}} & (18) \end{matrix}$

Then, compute β₂. Note that β₁ can be rewritten as Equation (19) following Theorem 1, and can be further expressed in terms of β₂ after substituting Equations (17) and (18) into Equation (19). Then compute β₂ using β₁ in Equations (17) and (19).

$\begin{matrix} {\beta_{1} = \frac{B + {\sum\limits_{j = 1}^{m}\; {\left( {T_{s}^{j + 1} - T_{c}} \right)\beta_{j + 1}}} + {T_{c}e^{\phi}}}{A}} & (19) \end{matrix}$

Finally, the other β_(i) can be computed using Equations (17) and (18), once β₂ is obtained.

III. Model Verification

The following provides verification of the performance of the proposed methods operating in, for example, a smart home network 100 as illustrated in Error! Reference source not found. FIG. 1. In the simulation, the 802.11e EDCA simulator in NS2 version 2.28 is used as a validation tool. Only CW parameter is differentiated. For each station i, set AIFS=DIFS, TX0P=0, and

${{CW}_{\min} = {{CW}_{\max} = {{CW}_{i} = \left\lbrack {\frac{2}{\beta_{i}} - 1} \right\rbrack}}},$

where [·] is the round operation. In the NUM method, the optimal β_(i) is obtained by an exhaustive algorithm, where all possible values of β₁ between 0 and 1 are searched with a step size of 0.0001. In the asymptotic analysis, the optimal β_(i) is calculated using Equations (17) and (18). The other protocol parameter values are listed in Table 1 and are set according to IEEE 802.11b protocol. Each simulation value is an average over five simulation runs, where each run runs for 200 seconds.

TABLE 1 Parameters for 802.11b. m/M 5/7 Header 228 μs = Mheader + Pheader σ 20 μs T(L) = Header + L_(tm)(L) + SIFS + ACK + DIFS SIFS 10 μs L_(tm)(L) = L bytes @ R_(data) DIFS 50 μs ACK 304 μs = 24 bytes @ R_(basic) + 14 bytes @ R_(basic) R_(data) 11 Mbps Mheader  20 μs = 24 bytes @ R_(data) + 4 bytes @ R_(data) R_(basic) 1 Mbps Pheader 208 μs = 26 bytes @ R_(basic)

Validation of the Methods of the Present Invention

In this section, the effectiveness of the proposed NUM method and the proposed asymptotic analysis method is validated.

In the experiment setting, the smart home network consists of n=2 surveillance cameras with inelastic data flows and m devices with elastic data flows. Each inelastic data flow has a fixed throughput requirement (i.e., a₁=0.4 Mbps and a₂=0.8 Mbps) and has the same packet size (i.e., L₁=L₂=1000 bytes). Each elastic data flow i, has a proportional throughput requirement (i.e., r_(i)1), where the packet size is set to 100 bytes for the former m/2 elastic data flows and is set to 200 bytes for the latter m/2 elastic data flows. In simulation, the CW size of each flow i, CW_(i), is listed in Table 2.

TABLE 2 CW_(i) and system throughput. NUM (basic mode) NUM (RTS/CTS mode) CW₁ CW₁ system CW₁ CW₁ system m (i = 3, . . . (i = 3 + m/2, . . . throughput (i = 3, . . . (i = 3 + m/2, . . . throughput (n = 2) CW₁ CW₂ 2 + m/2) 2 + m) [unit: Mbps] CW₁ CW₂ 2 + m/2) 2 + m) [unit: Mbps] 2 249 124 20 42 2.2126 317 58 20 43 1.6946 4 181 90 29 60 2.2086 99 49 33 68 1.6936 6 166 82 41 82 2.2031 94 47 48 97 1.6928 8 166 82 55 130 2.2037 304 52 70 142 3.6918 10  166 82 68 137 2.1954 90 44 76 153 1.6916 12  181 90 90 181 2.2023 90 44 94 189 1.7150 Asymptotic (RTS/CTS mode) CW₁ CW₁ m (i = 3, . . . (i = 3 + m/2, . . . system throughput (n = 2) CW₁ CW₂ 2 + m/2) 2 + m) [unit: Mbps] 2 99 49 16 32 1.6810 4 99 49 32 66 1.6810 6 99 49 49 99 1.6810 8 99 49 66 133 1.6810 10  99 49 82 166 1.6810 12  99 49 99 199 1.6810

In FIGS. 2A-3C, the labels “ana_NUM” and “ana_Asym”, respectively, denote the theoretical throughputs from the NUM method and the asymptotic analysis. The labels “sim_NUM” and “sim_Asym”, respectively, denote the corresponding simulation results.

Results for NUM Method in Basic Mode

FIG. 2A plots the per-station throughput of the inelastic data flows against the number of the elastic data flows. From this figure, it can be seen that for each inelastic data flow, the simulation result is almost always equal to the corresponding target value (i.e., a₁=0.4 Mbps or a₂=0.8 Mbps), regardless of the number of the elastic data flows. This manifests that the NUM method in the embodiment of the present invention can guarantee fixed throughput requirements of the inelastic data flows.

FIG. 2B plots the per-station throughput of the elastic data flows against the number m of the elastic data flows. From this figure, it can be seen that as m increases from 2 to 16, the per-station throughput of each elastic data flow decreases. It is also observed that, given m, the simulated throughput ratio between the former and latter (m/2) elastic data flows is about 1:1, regardless of the difference in packet size. This manifests that the NUM method in the embodiment of the present invention can achieve proportional fairness for elastic data flows.

FIG. 2C plots the system throughput against the number of the elastic data flows. From this figure, it can be seen that the simulation curve well matches with the analysis curve which plots the maximum system throughput limit. This manifests that the NUM method in the embodiment of the present invention can maximize the system throughput, while fulfilling the throughput requirements.

Results for NUM and Asymptotic Analysis Methods in RTS/CTS Mode

FIG. 3A plots the per-station throughput of the inelastic data flows against the number m of the elastic data flows. From this figure, it can be seen that as m increases from 2 to 16, the simulation values based on the NUM method and the asymptotic analysis are almost equal to the corresponding target values, which are either 0.4 Mbps or 0.8 Mbps. It can also be observed that for each inelastic data flow, the sim_NUM curve well matches with the sim_Asym curve. This manifests that both methods in the embodiments of the present invention can guarantee the fixed throughput requirements of the inelastic data flows.

FIG. 3B plots the per-station throughput of the elastic data flows against the number m of the elastic data flows. From this figure, it can be observed that as m varies from 2 to 16, the per-station throughput of each elastic data flow decreases. It can also be seen that, given m, the simulated throughput ratio between the former and latter (m/2) elastic data flows is about 1:1 for the NUM method and the asymptotic analysis method. This manifests that both methods in the embodiments of the present invention can achieve proportional fairness for elastic data flows.

FIG. 3C plots the system throughput against the number of the elastic data flows. From this figure, it can be seen that for each method, the simulation curve well matches with the analysis curve which plots the maximum system throughput limit. This manifests that both methods in the embodiments of the present invention can maximize the system throughput, while fulfilling the throughput requirements.

Comparison with Prior Work (Cheung)

The proposed NUM method is further compared with the method disclosed in M. H. Cheung, H. Mohsenian-Rad, V. W. Wong, and R. Schober, “Utility-optimal random access for wireless multimedia networks,” Wireless Communications Letters, IEEE, vol. 1, no. 4, pp. 340-343, 2012 (referred to as “Cheung's method”) for the basic mode.

For the proposed NUM method of the present invention, the same experiment is repeated except that each inelastic data flow has the same fixed throughput requirement (i.e., a₁=a₂=0.11 Mbps), and each elastic data flow i, has the same packet size (i.e., L_(n+i)=200 bytes). For Cheung's method, the same traffic parameters and requirements are adopted, but using their default method parameters. In FIGS. 4A-4C, the labels “sim_ours” and “sim_Cheung”, respectively, denote the results of the NUM method of the present invention and the results from Cheung's method.

FIG. 4A compares the per-station throughput of the inelastic data flow between the NUM method of the present invention and Cheung's method. From this figure, it can be seen that as m increases from 4 to 16, the NUM method of the present invention can allocate each inelastic data flow neither more nor less than what it requires (i.e., 0.11 Mbps). However, Cheung's method over-allocates each inelastic data flow what it requires (e.g., as m increases from 4 to 16, the acquired throughput of each inelastic data flow is always larger than 0.17 Mbps).

FIG. 4B compares the system throughput between the NUM method of the present invention and Cheung's method. From this figure, it can be seen that the NUM method of the present invention achieves a higher throughput than Cheung's method. This manifests that the NUM method of the present invention can maximize the system throughput (as validated in FIGS. 2C and 3C), while Cheung's method fails to do so.

FIG. 4C compares the average utility value between the NUM method of the present invention and Cheung's method which adopts the NUM method as well. From this figure, it can be seen that Cheung's method achieves a higher utility than the NUM method of the present invention, but achieves a lower throughput than the NUM method of the present invention (shown in FIG. 4B), which violates the principle of the NUM method. This casts doubts on the performance of Cheung's method.

IV. System for Performing the Methods of the Present Invention

Referring to FIG. 5, there is shown a schematic diagram of an exemplary information handling system 200 that can be used for implementing embodiments of the NUM and asymptotic analysis methods of the present invention as described above. In one example, the information handling system 200 may be used in network 100. In this example, the information handling system 200 is operable to be in communication with the surveillance camera 102, the smart lamp 104, the smart air-conditioner 106, and the smoke detector 108 in the same home environment for coordinating data transmission to the gateway 112.

The information handling system 200 may have different configurations, and it generally comprises suitable components necessary to receive, store and execute appropriate computer instructions or codes. The main components of the information handling system 200 are a processing unit 202 and a memory unit 204. The processing unit 202 is a processor such as a CPU, an MCU, etc. The memory unit 204 may include a volatile memory unit (such as RAM), a non-volatile unit (such as ROM, EPROM, EEPROM and flash memory) or both. Preferably, the information handling system 200 further includes one or more input devices 206 such as a keyboard, a mouse, a stylus, a microphone, a tactile input device (e.g., touch sensitive screen) and a video input device (e.g., camera). The information handling system 200 may further include one or more output devices 208 such as one or more displays, speakers, disk drives, and printers. The displays may be a liquid crystal display, a light emitting display or any other suitable display that may or may not be touch sensitive. The information handling system 200 may further include one or more disk drives 212 which may encompass solid state drives, hard disk drives, optical drives and/or magnetic tape drives. A suitable operating system may be installed in the information handling system 200, e.g., on the disk drive 212 or in the memory unit 204 of the information handling system 200. The memory unit 204 and the disk drive 212 may be operated by the processing unit 202. The information handling system 200 also preferably includes a communication module 210 for establishing one or more communication links (not shown) with one or more other computing devices such as an information handling system, personal computers, terminals, wireless or handheld computing devices. In one example, the communication module 210 allows data communication between the information handling system 200 and the surveillance camera 102, the smart lamp 104, the smart air-conditioner 106, and the smoke detector 108. The communication module 210 may be a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transceiver, an optical port, an infrared port, a USB connection, or other interfaces. The communication links may be wired or wireless for communicating commands, instructions, information and/or data. Preferably, the processing unit 202, the memory unit 204, and optionally the input devices 206, the output devices 208, the communication module 210 and the disk drives 212 are connected with each other through a bus, a Peripheral Component Interconnect (PCI) such as PCI Express, a Universal Serial Bus (USB), and/or an optical bus structure. In one embodiment, some of these components may be connected through a network such as the Internet or a cloud computing network. A person skilled in the art would appreciate that the information handling system 200 shown in FIG. 5 is merely exemplary, and that different information handling system s 200 may have different configurations and still be applicable to implement the method in the embodiments of the present invention.

Although not required, the embodiments described with reference to the Figures can be implemented as an application programming interface (API) or as a series of libraries for use by a developer or can be included within another software application, such as a terminal or personal computer operating system or a portable computing device operating system. Generally, as program modules include routines, programs, objects, components and data files assisting in the performance of particular functions, the skilled person will understand that the functionality of the software application may be distributed across a number of routines, objects or components to achieve the same functionality desired herein.

It will also be appreciated that where the methods and systems of the present invention are either wholly implemented by computing system or partly implemented by computing systems then any appropriate computing system architecture may be utilized. This will include stand-alone computers, network computers and dedicated hardware devices. Where the terms “computing system” and “computing device” are used, these terms are intended to cover any appropriate arrangement of computer hardware capable of implementing the function described.

The methods of the present invention simultaneously guarantee optimal throughput (a_(i)) for inelastic data flow, optimal proportional throughput ratio (r_(i)) for elastic data flow, and maximum network throughput. As such, the methods of the present invention provide a simple yet efficient MAC design dedicated to economically and intelligently allocate bandwidth for heterogeneous traffic when inelastic and elastic data flows coexist. The methods of the present invention are particularly advantageous for optimizing throughput in network with limited bandwidth, such as but not limited to network operating with IEEE 802.11 protocol.

It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Any reference to prior art contained herein is not to be taken as an admission that the information is common general knowledge, unless otherwise indicated. 

1. A method for optimizing throughput of a network with stations adapted to transmit data to an access point, the method comprising the steps of: determining a respective required throughput (Γ_(i)) for each station (i) based on: respective time periods (Ω) required for decreasing a count of a respective back-off counter associated with each of the stations (i), a transmission packet length (L_(i)) of the respective station (i), and a probability of successful transmission (P_(s) ^(i)) of the respective station (i), wherein the respective required throughput (Γ_(i)) so determined is a function of a respective transmission attempt rate (β_(i)) for the station (i); and determining the respective transmission attempt rate (β_(i)) for each station (i) for maximizing a sum of the respective required throughput (Γ_(i)) such that a respective fixed throughput (a_(i)) is provided for inelastic data flow in the network, a respective proportional throughput ratio (r_(i)) is provided for elastic data flow in the network, and the throughput of the network is maximized.
 2. The method in accordance with claim 1, further comprising the step of: operating the stations (i) at the respective determined transmission attempt rate (β_(i)).
 3. The method in accordance with claim 1, wherein the fixed throughputs (a_(i)) are respective predetermined throughputs for maintaining inelastic data flow in the respective stations.
 4. The method in accordance with claim 1, wherein the respective proportional throughput ratio (r_(i)) is defined as a ratio of a throughput of one of the station with elastic data flow to a throughput of another of the station with elastic data flow.
 5. The method in accordance with claim 1, further comprising the step of: determining or selecting an operation mode of the network.
 6. The method in accordance with claim 5, wherein the operation mode is selected from a basic mode and a RTS/CTS mode.
 7. The method in accordance with claim 6, wherein in the basic mode, the respective time periods (Ω) is defined by: $\Omega = \left\{ {\begin{matrix} {\sigma,} & {{P_{e} = {\prod\limits_{i = 1}^{N}\; \left( {1 - \beta_{i}} \right)}},} \\ {T_{i},} & {{P_{i} = {\beta_{i}{\prod\limits_{j = {i + 1}}^{N}\; \left( {1 - \beta_{j}} \right)}}},{1 \leq i \leq {N - 1}}} \end{matrix};} \right.$ and in the RTS/CTS mode, the respective time periods (Ω) is defined by: $\Omega = \left\{ {\begin{matrix} {\sigma,} & P_{e} \\ {T_{s}^{i},} & {P_{s}^{i},{1 \leq i \leq N}} \\ {T_{c},} & P_{c} \end{matrix},} \right.$ where N is a total number of the stations; σ is a predetermined time constant; P_(e) is an idle probability that all of the stations do not transmit in a slot; T_(i) is a channel occupation time that when one station i transmits but other stations i+1 to N do not transmit; P_(i) is a probability that one station i transmits but other stations i+1 to N do not transmit, with Π_(j=N=1) ^(N)(1−β_(j))=1; T_(s) ^(i) is the successful packet transmission time of station i; P_(s) ^(i) is the probability of a successful transmission of station I; T_(c) is an unsuccessful packet transmission time; and P_(c) is the probability of an unsuccessful transmission of station i.
 8. The method in accordance with claim 7, wherein the respective required throughput (Γ_(i)) for each station (i) is expressed as: ${{\Gamma_{i}(\beta)} = \frac{L_{i}P_{s}^{i}}{E(\Omega)}},$ where P_(s) ^(i)=β_(i)Π_(j≠1) ^(N)(1−β_(j)),1≦i≦N; E(Ω)=σP_(e)+Σ_(i−1) ^(N−1)T_(i)P_(i) for the basic mode; and E(Ω)=σP_(e)+Σ_(i=1) ^(N)T_(s) ^(i)P_(s) ^(i)+T_(c)P_(c) for the RTS/CTS mode.
 9. The method in accordance with claim 8, wherein the step of determining a respective transmission attempt rate (β_(i)) for each station (i) comprises the steps of: processing the respective required throughput (Γ_(i)) for each station (i) with a utility function for elastic data flow and inelastic data flow; and determining a respective transmission attempt rate (β_(i)) for each station (i) for maximizing the utility functions.
 10. The method in accordance with claim 9, wherein the step of processing the respective required throughput (Γ_(i)) for each station (i) with a utility function is performed based on: ${U_{i}(\beta)} = \left\{ {{\begin{matrix} {1,} & {{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} \geq a_{i}} \\ {0,} & {{{if}\mspace{14mu} {\Gamma_{i}(\beta)}} < a_{i}} \end{matrix}\mspace{14mu} {for}\mspace{14mu} {inelastic}\mspace{14mu} {data}\mspace{14mu} {flow}};{{{and}\text{}{U_{i}(\beta)}} = {r_{i}\ln \; {\Gamma_{i}(\beta)}\mspace{14mu} {for}\mspace{14mu} {elastic}\mspace{14mu} {data}\mspace{14mu} {flow}}};} \right.$ where U_(i)(β) is the utility function.
 11. The method in accordance with claim 8, wherein the step of determining a respective transmission attempt rate (β_(i)) for each station (i) comprises the steps of: setting an initial transmission attempt rate; determining the respective transmission attempt rate (β_(i)) based on the initially set transmission attempt rate, the respective required throughput (Γ_(i)) for each station (i), and a predetermined relationship.
 12. The method in accordance with claim 11, wherein the predetermined relationship is defined as: $\beta_{i} = \frac{B + {\sum\limits_{j = 1}^{m}\; {\left( {T_{s}^{j + 1} - T_{c}} \right)\beta_{j + 1}}} + {T_{c}e^{\phi}}}{A}$ ${\beta_{i} = {\frac{L_{2}a_{i}}{a_{2}L_{i}}\beta_{2}}},{{2 \leq i \leq {n {for}{\mspace{11mu} \;}{inelastic}\mspace{14mu} {data}\mspace{14mu} {flow}}};{and}}$ ${\beta_{n + i} = \frac{r_{i}\left( {\phi - {\frac{L_{2}}{a_{2}}\beta_{2}{\sum\limits_{j = 2}^{n}\; \frac{a_{j}}{L_{j}}}}} \right)}{L_{n + i}{\sum\limits_{j = 1}^{m}\; \frac{r_{j}}{L_{n + j}}}}},{{1 \leq i \leq {m\mspace{45mu} {for}\mspace{14mu} {elastic}\mspace{14mu} {data}\mspace{14mu} {flow}}};}$ and φ>0 is an optimal total attempt rate of the stations with elastic data flow.
 13. The method in accordance with claim 1, wherein the elastic data flow is a non-real-time data flow and the inelastic data flow is a real-time data flow.
 14. The method in accordance with claim 1, wherein the network utilizes an IEEE 802.11 protocol.
 15. The method in accordance with claim 1, wherein the network utilizes an IEEE 802.11ah protocol.
 16. A non-transient computer readable medium for storing computer instructions that, when executed by one or more processors, causes the one or more processors to perform a method for optimizing throughput of a network with stations adapted to transmit data to an access point, the method comprising the steps of: determining a respective required throughput (Γ_(i)) for each station (i) based on: respective time periods (Ω) required for decreasing a count of a respective back-off counter associated with each of the stations (i), a transmission packet length (L_(i)) of the respective station (i), and a probability of successful transmission (P_(s) ^(i)) of the respective station (i), wherein the respective required throughput (Γ_(i)) so determined is a function of a respective transmission attempt rate (β_(i)) for the station (i); and determining the respective transmission attempt rate (β_(i)) for each station (i) for maximizing a sum of the respective required throughput (Γ_(i)) such that a respective fixed throughput (a_(i)) is provided for inelastic data flow in the network, a respective proportional throughput ratio (r_(i)) is provided for elastic data flow in the network, and the throughput of the network is maximized. 